package xyz.sekai52799.answer.a1001_a1200;

public class Question1089 {
//    leetcode第1089题 复写0
//    给你一个长度固定的整数数组arr，请你将该数组中出现的每个零都复写一遍，并将其余的元素向右平移。
//
//    注意：请不要在超过该数组长度的位置写入元素。
//
//    要求：请对输入的数组就地进行上述修改，不要从函数返回任何东西。
//
//
//
//    示例 1：
//
//    输入：[1,0,2,3,0,4,5,0]
//    输出：null
//    解释：调用函数后，输入的数组将被修改为：[1,0,0,2,3,0,0,4]
//    示例 2：
//
//    输入：[1,2,3]
//    输出：null
//    解释：调用函数后，输入的数组将被修改为：[1,2,3]
//
//    来源：力扣（LeetCode）
//    链接：https://leetcode.cn/problems/duplicate-zeros
//    著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
    public static int[] duplicateZeros(int[] arr){
        int[] arr02 = arr.clone();
        int i = 0;
        int j = 0;
        while (j < arr02.length){
            if (arr02[i] != 0){
                arr[j] = arr02[i];
                i = i+1;
                j = j+1;
            } else {
                arr[j] = 0;
                if (j+1 == arr02.length){
                    break;
                }
                arr[j+1] = 0;
                i = i+1;
                j = j+2;
            }
        }
        return arr;
    }
}
